iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0

Button是一個可以用來給使用者在點擊後能夠觸發某個操作或某個事件的UI元件
常用於啟動功能、跳轉業面等

這是Button的初始樣子

<Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        tools:layout_editor_absoluteX="109dp"
        tools:layout_editor_absoluteY="418dp" />

不過要使用Button的話還需要到MainActivity裡來為它設置監聽器

private Button button;

首先,在class裡面onCreate外面宣告一個button變數

button = findViewById(R.id.button);

透過上面的程式碼將變數與Button的id綁定

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //需執行的程式碼
            }
        });

再為它設置監聽器
//那裡需要寫上按下按鈕後執行的程式碼
接著只需要將程式碼補上後再按下按鈕就會觸發監聽器並執行內部的程式碼了
這樣就可以正常使用Button了

若是想要在特殊情況下禁用或啟用按鈕的話也可以在MainActivity裡使用這兩行程式

button.setEnabled(false);  // 禁用按鈕
button.setEnabled(true);   // 啟用按鈕

這兩行可以根據邏輯來啟用或禁用按鈕
禁用時按鈕會變成灰色且無法點擊

若是有需要長時間按下按鈕後能夠有其他的動作也可以利用名為OnLongClickListener的監聽器

button.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                button.setEnabled(false);  // 禁用按鈕
                return true;
            }
        });

禁用按鈕那一行可以自由變換成自己希望在長按後的動作
這邊的程式碼是利用長按後按鈕會被禁用來做示範
這是按鈕剛開始的樣子
https://ithelp.ithome.com.tw/upload/images/20240916/20168456K1QqvW4I7D.png
這是長按之後按鈕被禁用的樣子
https://ithelp.ithome.com.tw/upload/images/20240916/20168456NW830w4HWP.png

Button的介紹就到這裡
下篇會介紹Guidelines


上一篇
[Day 07] ImageView介紹
下一篇
[Day 09] Guidelines介紹
系列文
深入Android Java程式語言 - 打造我的行動應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言